// All files included by
// #include <torch/torch.h>
// #include <torch/script.h>
// #include <torch/csrc/inductor/aoti_runner/model_container_runner_cpu.h>
// torch/csrc/distributed/c10d/ProcessGroupGloo.hpp
// torch/csrc/distributed/c10d/PrefixStore.hpp
// torch/csrc/distributed/c10d/logger.hpp
// as listed by g++ -H torch/torch.h torch/script.h
// Excluding:
// - the ones that fill at::meta at::native and at::_ops namespaces
//   (ATen/ops/*_native.h ATen/ops/*_meta.h ATen/ops/*_ops.h)
// - ATen/ops/_* (internal, API can change)
// - and some exceptions commented below
#include "torch/csrc/utils/python_stub.h"
#include "c10/macros/cmake_macros.h"
#include "c10/macros/Export.h"
#include "torch/csrc/Export.h"
#include "c10/macros/Macros.h"
#include "c10/util/Lazy.h"
#include "c10/util/Backtrace.h"
#include "c10/core/DeviceType.h"
#include "c10/util/Deprecated.h"
// #include "c10/util/string_utils.h" // Android only
// #include "c10/util/string_view.h" // Not mapped. Using custom adapter instead.
#include "c10/util/StringUtil.h"
#include "c10/util/Exception.h"
#include "c10/core/Device.h"
#include "c10/core/DispatchKey.h"
// #include "c10/util/C++17.h"
#include "c10/util/TypeTraits.h"
#include "c10/util/TypeList.h"
// #include "c10/util/Metaprogramming.h" // Not parseable
#include "c10/util/bit_cast.h"
// #include "c10/util/llvmMathExtras.h" // Not parseable
#include "c10/core/DispatchKeySet.h"
#include "c10/core/Backend.h"
#include "c10/core/Layout.h"
#include "c10/util/AlignOf.h"
#include "c10/util/SmallVector.h"
#include "c10/util/ArrayRef.h"
#include "c10/core/MemoryFormat.h"
#include "c10/core/QScheme.h"
#include "c10/core/Stream.h"
#include "c10/core/OptionalRef.h"
#include "c10/util/BFloat16.h"
#include "c10/util/BFloat16-inl.h"
#include "c10/util/TypeSafeSignMath.h"
#include "c10/util/floating_point_utils.h"
#include "c10/util/Float8_e4m3fn-inl.h"
#include "c10/util/Float8_e4m3fn.h"
#include "c10/util/Float8_fnuz_cvt.h"
#include "c10/util/Float8_e4m3fnuz-inl.h"
#include "c10/util/Float8_e4m3fnuz.h"
#include "c10/util/complex_math.h"
#include "c10/util/complex_utils.h"
#include "c10/util/complex.h"
#include "c10/util/Half-inl.h"
#include "c10/util/Half.h"
#include "c10/util/Float8_e5m2-inl.h"
#include "c10/util/Float8_e5m2.h"
#include "c10/util/Float8_e5m2fnuz-inl.h"
#include "c10/util/Float8_e5m2fnuz.h"
#include "c10/util/Float8_e8m0fnu.h"
#include "c10/util/bits.h"
#include "c10/util/qint32.h"
#include "c10/util/qint8.h"
#include "c10/util/quint2x4.h"
#include "c10/util/quint4x2.h"
#include "c10/util/quint8.h"
#include "c10/core/ScalarType.h"
// #include "c10/util/Optional.h" // Incompatible with declaration of c10::optional as basic container
#include "c10/util/MaybeOwned.h"
#include "c10/core/SymNodeImpl.h"
#include "c10/core/SymFloat.h"
#include "c10/core/SymBool.h"
#include "c10/core/SymInt.h"
#include "c10/util/TypeCast.h"
#include "c10/core/Scalar.h"
#include "c10/util/IdWrapper.h"
#include "c10/util/Type.h"
#include "c10/util/ConstexprCrc.h"
#include "c10/util/TypeIndex.h"
#include "c10/util/irange.h"
#include "c10/util/typeid.h"
#include "c10/core/ScalarTypeToTypeMeta.h"
#include "c10/util/ThreadLocalDebugInfo.h"
#include "c10/util/UniqueVoidPtr.h"
#include "c10/core/Allocator.h"
#include "c10/core/impl/COW.h"
//#include "c10/core/impl/COWDeleter.h"
#include "c10/util/python_stub.h"
#include "c10/core/StorageImpl.h"
#include "c10/util/ExclusivelyOwned.h"
#include "c10/core/Storage.h"
#include "c10/core/AutogradState.h"
#include "c10/util/Registry.h"
#include "c10/util/Flags.h"
#include "c10/core/impl/LocalDispatchKeySet.h"
#include "c10/core/InferenceMode.h"
#include "c10/core/SymIntArrayRef.h"
#include "c10/core/DefaultDtype.h"
#include "c10/core/TensorOptions.h"
#include "c10/core/impl/HermeticPyObjectTLS.h"
#include "c10/core/impl/PyInterpreter.h"
#include "c10/core/impl/PyObjectSlot.h"
#include "c10/core/impl/SizesAndStrides.h"
#include "c10/util/DimVector.h"
#include "c10/core/SymbolicShapeMeta.h"
#include "c10/core/WrapDimMinimal.h"
// #include "c10/util/logging_is_not_google_glog.h" // Not parseable
#include "c10/util/Logging.h"
#include "c10/util/accumulate.h"
#include "c10/util/safe_numerics.h"
#include "c10/core/TensorImpl.h"
#include "c10/core/UndefinedTensorImpl.h"
// #include "c10/util/OptionalArrayRef.h" // Not compatible with basic container. Are we concerned by https://github.com/pytorch/pytorch/issues/63645 ?
#include "ATen/core/CheckMemoryFormat.h"
// #include "ATen/core/DeprecatedTypePropertiesRegistry.h" // Deprecated
#include "c10/core/GeneratorImpl.h"
#include "ATen/core/Generator.h"
// #include "ATen/core/DeprecatedTypeProperties.h" // Deprecated
#include "ATen/core/symbol.h"
#include "ATen/core/Dimname.h"
#include "ATen/core/NamedTensor.h"
#include "ATen/core/QuantizerBase.h"
#include "ATen/core/TensorAccessor.h"
#include "c10/util/ExclusivelyOwnedTensorTraits.h"
#include "ATen/StorageUtils.h"
#include "ATen/core/TensorBase.h"
// #include "ATen/core/ATen_fwd.h" // Only forward declarations + conflict with basic containers
#include "ATen/MethodOperators.h"
#include "ATen/core/TensorBody.h"
#include "ATen/core/Tensor.h"
#include "ATen/Tensor.h"
#include "torch/csrc/autograd/function_hook.h"
#include "torch/csrc/autograd/cpp_hook.h"
#include "c10/util/hash.h"
#include "torch/csrc/autograd/edge.h"
#include "torch/csrc/autograd/forward_grad.h"
#include "ATen/NamedTensor.h"
#include "ATen/core/ivalue_to.h"
#include "ATen/core/qualified_name.h"
#include "ATen/core/type_ptr.h"
#include "ATen/core/jit_type_base.h"
#include "ATen/core/DimVector.h"
#include "ATen/core/blob.h"
#include "ATen/core/custom_class.h"
#include "ATen/core/dynamic_type.h"
#include "ATen/core/type_factory.h"
#include "c10/util/order_preserving_flat_hash_map.h"
#include "ATen/core/Dict_inl.h"
#include "ATen/core/Dict.h"
#include "ATen/core/functional.h"
#include "ATen/core/jit_type.h"
#include "ATen/core/rref_interface.h"
#include "c10/core/impl/DeviceGuardImplInterface.h"
#include "c10/core/impl/VirtualGuardImpl.h"
#include "c10/core/impl/InlineDeviceGuard.h"
#include "c10/core/DeviceGuard.h"
#include "c10/core/impl/InlineEvent.h"
#include "c10/core/Event.h"
#include "c10/core/impl/InlineStreamGuard.h"
#include "c10/core/StreamGuard.h"
#include "c10/util/FunctionRef.h"
//#include "c10/util/intrusive_ptr.h"  // Moved after the definition or its template args
#include "ATen/core/ivalue_inl.h"
#include "ATen/core/ivalue.h"
#include "ATen/core/List_inl.h"
#include "ATen/core/List.h"
#include "ATen/core/IListRef_inl.h"
#include "ATen/core/IListRef.h"
#include "ATen/WrapDimUtils.h"
#include "ATen/TensorNames.h"
// #include "ATen/WrapDimUtilsMulti.h" // Windows-specific
#include "ATen/NamedTensorUtils.h"
#include "ATen/core/VariableHooksInterface.h"
#include "torch/csrc/autograd/variable.h"
#include "torch/csrc/autograd/autograd.h"
#include "ATen/core/alias_info.h"
#include "ATen/core/operator_name.h"
#include "ATen/core/dispatch/OperatorOptions.h"
#include "ATen/core/function_schema.h"
#include "ATen/core/function_schema_inl.h"
#include "ATen/core/op_registration/infer_schema.h"
#include "ATen/core/op_registration/op_allowlist.h"
#include "ATen/SequenceNumber.h"
#include "ATen/core/boxing/OperatorKernel.h"
#include "ATen/core/boxing/BoxedKernel.h"
#include "ATen/core/boxing/BoxedKernel_impl.h"
#include "ATen/core/stack.h"
#include "ATen/core/boxing/impl/boxing.h"
#include "ATen/core/boxing/impl/make_boxed_from_unboxed_functor.h"
#include "c10/core/CompileTimeFunctionPointer.h"
#include "ATen/core/boxing/impl/WrapFunctionIntoFunctor.h"
#include "ATen/core/boxing/impl/WrapFunctionIntoRuntimeFunctor.h"
#include "ATen/core/boxing/KernelFunction.h"
#include "ATen/core/boxing/KernelFunction_impl.h"
#include "c10/util/flat_hash_map.h"
#include "c10/core/PyHandleCache.h"
#include "c10/core/SafePyObject.h"
#include "c10/util/Bitset.h"
#include "ATen/core/Variadic.h"
#include "ATen/core/dispatch/DispatchKeyExtractor.h"
#include "ATen/core/dispatch/OperatorEntry.h"
#include "ATen/record_function.h"
#include "c10/util/Synchronized.h"
// #include "c10/util/LeftRight.h" // Not in API
#include "c10/core/GradMode.h"
#include "ATen/core/grad_mode.h"
#include "ATen/core/dispatch/Dispatcher.h"
#include "ATen/core/dispatch/CppSignature.h"
#include "ATen/core/dispatch/RegistrationHandleRAII.h"
#include "ATen/core/enum_tag.h"
#include "ATen/core/ATenOpList.h"
#include "ATen/core/op_registration/op_registration.h"
#include "ATen/core/function.h"
// #include "ATen/core/builtin_function.h" // Not in API
#include "ATen/core/class_type.h"
// #include "torch/custom_class_detail.h" // Not in API
// #include "torch/custom_class.h" // Not in API
#include "torch/library.h"
#include "torch/csrc/autograd/autograd_not_implemented_fallback.h"
#include "torch/csrc/autograd/anomaly_mode.h"
#include "torch/csrc/autograd/grad_mode.h"
#include "ATen/FuncTorchTLS.h"
#include "ATen/PythonTorchFunctionTLS.h"
#include "ATen/SavedTensorHooks.h"
#include "ATen/ThreadLocalPythonObjects.h"
#include "c10/core/impl/PythonDispatcherTLS.h"
#include "c10/core/impl/TorchDispatchModeTLS.h"
#include "ATen/ThreadLocalState.h"
#include "c10/util/ThreadLocal.h"
#include "torch/csrc/autograd/input_buffer.h"
#include "torch/csrc/autograd/utils/warnings.h"
#include "torch/csrc/autograd/graph_task.h"
#include "ATen/BlasBackend.h"
#include "ATen/core/MT19937RNGEngine.h"
#include "ATen/CPUGeneratorImpl.h"
#include "ATen/detail/AcceleratorHooksInterface.h"
#include "ATen/detail/MTIAHooksInterface.h"
#include "ATen/DeviceAccelerator.h"
#include "ATen/LinalgBackend.h"
#include "ATen/ROCmFABackend.h"
#include "ATen/SDPBackend.h"
#include "ATen/core/ATenGeneral.h"
#include "ATen/core/LegacyTypeDispatch.h"
#include "ATen/detail/CUDAHooksInterface.h"
#include "ATen/detail/HIPHooksInterface.h"
#include "ATen/detail/IPUHooksInterface.h"
#include "ATen/detail/MPSHooksInterface.h"
#include "ATen/detail/MAIAHooksInterface.h"
#include "ATen/detail/PrivateUse1HooksInterface.h"
#include "ATen/detail/XPUHooksInterface.h"
#include "c10/core/QEngine.h"
#include "c10/util/CallOnce.h"
#include "c10/util/env.h"
#include "ATen/Context.h"
#include "ATen/DeviceGuard.h"
#include "ATen/DimVector.h"
#include "ATen/EmptyTensor.h"
#include "ATen/TensorGeometry.h"
#include "ATen/core/Formatting.h"
#include "ATen/Formatting.h"
#include "ATen/Utils.h"
#include "ATen/TensorUtils.h"
#include "ATen/TracerMode.h"
#include "ATen/core/Reduction.h"
#include "ATen/ops/abs.h"
#include "ATen/ops/absolute.h"
#include "ATen/ops/acos.h"
#include "ATen/ops/acosh.h"
#include "ATen/ops/adaptive_avg_pool1d.h"
#include "ATen/ops/adaptive_avg_pool2d.h"
#include "ATen/ops/adaptive_avg_pool3d.h"
#include "ATen/ops/adaptive_avg_pool3d_backward.h"
#include "ATen/ops/adaptive_max_pool1d.h"
#include "ATen/ops/adaptive_max_pool2d.h"
#include "ATen/ops/adaptive_max_pool2d_backward.h"
#include "ATen/ops/adaptive_max_pool3d.h"
#include "ATen/ops/adaptive_max_pool3d_backward.h"
#include "ATen/ops/add.h"
#include "ATen/ops/addbmm.h"
#include "ATen/ops/addcdiv.h"
#include "ATen/ops/addcmul.h"
#include "ATen/ops/addmm.h"
#include "ATen/ops/addmv.h"
#include "ATen/ops/addr.h"
#include "ATen/ops/adjoint.h"
#include "ATen/ops/affine_grid_generator.h"
#include "ATen/ops/affine_grid_generator_backward.h"
#include "ATen/ops/alias.h"
#include "ATen/ops/alias_copy.h"
#include "ATen/ops/align_as.h"
#include "ATen/ops/align_tensors.h"
#include "ATen/ops/align_to.h"
#include "ATen/ops/all.h"
#include "ATen/ops/allclose.h"
#include "ATen/ops/alpha_dropout.h"
#include "ATen/ops/amax.h"
#include "ATen/ops/amin.h"
#include "ATen/ops/aminmax.h"
#include "ATen/ops/and.h"
#include "ATen/ops/angle.h"
#include "ATen/ops/any.h"
#include "ATen/ops/arange.h"
#include "ATen/ops/arccos.h"
#include "ATen/ops/arccosh.h"
#include "ATen/ops/arcsin.h"
#include "ATen/ops/arcsinh.h"
#include "ATen/ops/arctan.h"
#include "ATen/ops/arctan2.h"
#include "ATen/ops/arctanh.h"
#include "ATen/ops/argmax.h"
#include "ATen/ops/argmin.h"
#include "ATen/ops/argsort.h"
#include "ATen/ops/argwhere.h"
#include "ATen/ops/as_strided.h"
#include "ATen/ops/as_strided_copy.h"
#include "ATen/ops/as_strided_scatter.h"
#include "ATen/ops/asin.h"
#include "ATen/ops/asinh.h"
#include "ATen/ops/atan.h"
#include "ATen/ops/atan2.h"
#include "ATen/ops/atanh.h"
#include "ATen/ops/atleast_1d.h"
#include "ATen/ops/atleast_2d.h"
#include "ATen/ops/atleast_3d.h"
#include "ATen/ops/avg_pool1d.h"
#include "ATen/ops/avg_pool2d.h"
#include "ATen/ops/avg_pool2d_backward.h"
#include "ATen/ops/avg_pool3d.h"
#include "ATen/ops/avg_pool3d_backward.h"
#include "ATen/ops/baddbmm.h"
#include "ATen/ops/bartlett_window.h"
#include "ATen/ops/batch_norm.h"
#include "ATen/ops/batch_norm_backward.h"
#include "ATen/ops/batch_norm_backward_elemt.h"
#include "ATen/ops/batch_norm_backward_reduce.h"
#include "ATen/ops/batch_norm_elemt.h"
#include "ATen/ops/batch_norm_gather_stats.h"
#include "ATen/ops/batch_norm_gather_stats_with_counts.h"
#include "ATen/ops/batch_norm_stats.h"
#include "ATen/ops/batch_norm_update_stats.h"
#include "ATen/ops/bernoulli.h"
#include "ATen/ops/bilinear.h"
#include "ATen/ops/binary_cross_entropy.h"
#include "ATen/ops/binary_cross_entropy_backward.h"
#include "ATen/ops/binary_cross_entropy_with_logits.h"
#include "ATen/ops/bincount.h"
#include "ATen/ops/binomial.h"
#include "ATen/ops/bitwise_and.h"
#include "ATen/ops/bitwise_left_shift.h"
#include "ATen/ops/bitwise_not.h"
#include "ATen/ops/bitwise_or.h"
#include "ATen/ops/bitwise_right_shift.h"
#include "ATen/ops/bitwise_xor.h"
#include "ATen/ops/blackman_window.h"
#include "ATen/ops/block_diag.h"
#include "ATen/ops/bmm.h"
#include "ATen/ops/broadcast_tensors.h"
#include "ATen/ops/broadcast_to.h"
#include "ATen/ops/bucketize.h"
#include "ATen/ops/can_cast.h"
#include "ATen/ops/cartesian_prod.h"
#include "ATen/ops/cat.h"
#include "ATen/ops/cauchy.h"
#include "ATen/ops/ccol_indices.h"
#include "ATen/ops/ccol_indices_copy.h"
#include "ATen/ops/cdist.h"
#include "ATen/ops/ceil.h"
#include "ATen/ops/celu.h"
#include "ATen/ops/chain_matmul.h"
#include "ATen/ops/chalf.h"
#include "ATen/ops/channel_shuffle.h"
#include "ATen/ops/cholesky.h"
#include "ATen/ops/cholesky_inverse.h"
#include "ATen/ops/cholesky_solve.h"
#include "ATen/ops/choose_qparams_optimized.h"
#include "ATen/ops/chunk.h"
#include "ATen/ops/clamp.h"
#include "ATen/ops/clamp_max.h"
#include "ATen/ops/clamp_min.h"
#include "ATen/ops/clip.h"
#include "ATen/ops/clone.h"
#include "ATen/ops/coalesce.h"
#include "ATen/ops/col2im.h"
#include "ATen/ops/col_indices.h"
#include "ATen/ops/col_indices_copy.h"
#include "ATen/ops/column_stack.h"
#include "ATen/ops/combinations.h"
#include "ATen/ops/complex.h"
#include "ATen/ops/concat.h"
#include "ATen/ops/concatenate.h"
#include "ATen/ops/conj.h"
#include "ATen/ops/conj_physical.h"
#include "ATen/ops/constant_pad_nd.h"
#include "ATen/ops/contiguous.h"
#include "ATen/ops/conv1d.h"
#include "ATen/ops/conv2d.h"
#include "ATen/ops/conv3d.h"
#include "ATen/ops/conv_depthwise3d.h"
#include "ATen/ops/conv_tbc.h"
#include "ATen/ops/conv_tbc_backward.h"
#include "ATen/ops/conv_transpose1d.h"
#include "ATen/ops/conv_transpose2d.h"
#include "ATen/ops/conv_transpose3d.h"
#include "ATen/ops/convolution.h"
#include "ATen/ops/convolution_backward.h"
#include "ATen/ops/convolution_backward_overrideable.h"
#include "ATen/ops/convolution_overrideable.h"
#include "ATen/ops/copy.h"
#include "ATen/ops/copy_sparse_to_sparse.h"
#include "ATen/ops/copysign.h"
#include "ATen/ops/corrcoef.h"
#include "ATen/ops/cos.h"
#include "ATen/ops/cosh.h"
#include "ATen/ops/cosine_embedding_loss.h"
#include "ATen/ops/cosine_similarity.h"
#include "ATen/ops/count_nonzero.h"
#include "ATen/ops/cov.h"
#include "ATen/ops/cross.h"
#include "ATen/ops/cross_entropy_loss.h"
#include "ATen/ops/crow_indices.h"
#include "ATen/ops/crow_indices_copy.h"
#include "ATen/ops/ctc_loss.h"
#include "ATen/ops/cudnn_affine_grid_generator.h"
#include "ATen/ops/cudnn_affine_grid_generator_backward.h"
#include "ATen/ops/cudnn_batch_norm.h"
#include "ATen/ops/cudnn_batch_norm_backward.h"
#include "ATen/ops/cudnn_convolution.h"
#include "ATen/ops/cudnn_convolution_add_relu.h"
#include "ATen/ops/cudnn_convolution_relu.h"
#include "ATen/ops/cudnn_convolution_transpose.h"
#include "ATen/ops/cudnn_grid_sampler.h"
#include "ATen/ops/cudnn_grid_sampler_backward.h"
#include "ATen/ops/cudnn_is_acceptable.h"
#include "ATen/ops/cummax.h"
#include "ATen/ops/cummaxmin_backward.h"
#include "ATen/ops/cummin.h"
#include "ATen/ops/cumprod.h"
#include "ATen/ops/cumprod_backward.h"
#include "ATen/ops/cumsum.h"
#include "ATen/ops/cumulative_trapezoid.h"
#include "ATen/ops/data.h"
#include "ATen/ops/deg2rad.h"
#include "ATen/ops/dense_dim.h"
#include "ATen/ops/dequantize.h"
#include "ATen/ops/det.h"
#include "ATen/ops/detach.h"
#include "ATen/ops/detach_copy.h"
#include "ATen/ops/diag.h"
#include "ATen/ops/diag_embed.h"
#include "ATen/ops/diagflat.h"
#include "ATen/ops/diagonal.h"
#include "ATen/ops/diagonal_backward.h"
#include "ATen/ops/diagonal_copy.h"
#include "ATen/ops/diagonal_scatter.h"
#include "ATen/ops/diff.h"
#include "ATen/ops/digamma.h"
#include "ATen/ops/dist.h"
#include "ATen/ops/div.h"
#include "ATen/ops/divide.h"
#include "ATen/ops/dot.h"
#include "ATen/ops/dropout.h"
#include "ATen/ops/dsplit.h"
#include "ATen/ops/dstack.h"
#include "ATen/ops/einsum.h"
#include "ATen/ops/elu.h"
#include "ATen/ops/elu_backward.h"
#include "ATen/ops/embedding.h"
#include "ATen/ops/embedding_backward.h"
#include "ATen/ops/embedding_bag.h"
#include "ATen/ops/embedding_dense_backward.h"
#include "ATen/ops/embedding_renorm.h"
#include "ATen/ops/embedding_sparse_backward.h"
#include "ATen/ops/empty.h"
#include "ATen/ops/empty_like.h"
#include "ATen/ops/empty_permuted.h"
#include "ATen/ops/empty_quantized.h"
#include "ATen/ops/empty_strided.h"
#include "ATen/ops/eq.h"
#include "ATen/ops/equal.h"
#include "ATen/ops/erf.h"
#include "ATen/ops/erfc.h"
#include "ATen/ops/erfinv.h"
#include "ATen/ops/exp.h"
#include "ATen/ops/exp2.h"
#include "ATen/ops/expand.h"
#include "ATen/ops/expand_as.h"
#include "ATen/ops/expand_copy.h"
#include "ATen/ops/expm1.h"
#include "ATen/ops/exponential.h"
#include "ATen/ops/eye.h"
#include "ATen/ops/fake_quantize_per_channel_affine.h"
#include "ATen/ops/fake_quantize_per_channel_affine_cachemask.h"
#include "ATen/ops/fake_quantize_per_channel_affine_cachemask_backward.h"
#include "ATen/ops/fake_quantize_per_tensor_affine.h"
#include "ATen/ops/fake_quantize_per_tensor_affine_cachemask.h"
#include "ATen/ops/fake_quantize_per_tensor_affine_cachemask_backward.h"
#include "ATen/ops/fbgemm_linear_fp16_weight.h"
#include "ATen/ops/fbgemm_linear_fp16_weight_fp32_activation.h"
#include "ATen/ops/fbgemm_linear_int8_weight.h"
#include "ATen/ops/fbgemm_linear_int8_weight_fp32_activation.h"
#include "ATen/ops/fbgemm_linear_quantize_weight.h"
#include "ATen/ops/fbgemm_pack_gemm_matrix_fp16.h"
#include "ATen/ops/fbgemm_pack_quantized_matrix.h"
#include "ATen/ops/feature_alpha_dropout.h"
#include "ATen/ops/feature_dropout.h"
#include "ATen/ops/fft_fft.h"
#include "ATen/ops/fft_fft2.h"
#include "ATen/ops/fft_fftfreq.h"
#include "ATen/ops/fft_fftn.h"
#include "ATen/ops/fft_fftshift.h"
#include "ATen/ops/fft_hfft.h"
#include "ATen/ops/fft_hfft2.h"
#include "ATen/ops/fft_hfftn.h"
#include "ATen/ops/fft_ifft.h"
#include "ATen/ops/fft_ifft2.h"
#include "ATen/ops/fft_ifftn.h"
#include "ATen/ops/fft_ifftshift.h"
#include "ATen/ops/fft_ihfft.h"
#include "ATen/ops/fft_ihfft2.h"
#include "ATen/ops/fft_ihfftn.h"
#include "ATen/ops/fft_irfft.h"
#include "ATen/ops/fft_irfft2.h"
#include "ATen/ops/fft_irfftn.h"
#include "ATen/ops/fft_rfft.h"
#include "ATen/ops/fft_rfft2.h"
#include "ATen/ops/fft_rfftfreq.h"
#include "ATen/ops/fft_rfftn.h"
#include "ATen/ops/fill.h"
#include "ATen/ops/fill_diagonal.h"
#include "ATen/ops/fix.h"
#include "ATen/ops/flatten.h"
#include "ATen/ops/flatten_dense_tensors.h"
#include "ATen/ops/flip.h"
#include "ATen/ops/fliplr.h"
#include "ATen/ops/flipud.h"
#include "ATen/ops/float_power.h"
#include "ATen/ops/floor.h"
#include "ATen/ops/floor_divide.h"
#include "ATen/ops/fmax.h"
#include "ATen/ops/fmin.h"
#include "ATen/ops/fmod.h"
#include "ATen/ops/frac.h"
#include "ATen/ops/fractional_max_pool2d.h"
#include "ATen/ops/fractional_max_pool2d_backward.h"
#include "ATen/ops/fractional_max_pool3d.h"
#include "ATen/ops/fractional_max_pool3d_backward.h"
#include "ATen/ops/frexp.h"
#include "ATen/ops/frobenius_norm.h"
#include "ATen/ops/from_blob.h"
#include "ATen/ops/from_file.h"
#include "ATen/ops/full.h"
#include "ATen/ops/full_like.h"
#include "ATen/ops/fused_moving_avg_obs_fake_quant.h"
#include "ATen/ops/gather.h"
#include "ATen/ops/gather_backward.h"
#include "ATen/ops/gcd.h"
#include "ATen/ops/ge.h"
#include "ATen/ops/gelu.h"
#include "ATen/ops/gelu_backward.h"
#include "ATen/ops/geometric.h"
#include "ATen/ops/geqrf.h"
#include "ATen/ops/ger.h"
#include "ATen/ops/glu.h"
#include "ATen/ops/glu_backward.h"
#include "ATen/ops/glu_backward_jvp.h"
#include "ATen/ops/glu_jvp.h"
#include "ATen/ops/gradient.h"
#include "ATen/ops/greater.h"
#include "ATen/ops/greater_equal.h"
#include "ATen/ops/grid_sampler.h"
#include "ATen/ops/grid_sampler_2d.h"
#include "ATen/ops/grid_sampler_2d_backward.h"
#include "ATen/ops/grid_sampler_3d.h"
#include "ATen/ops/grid_sampler_3d_backward.h"
#include "ATen/ops/group_norm.h"
#include "ATen/ops/gru.h"
#include "ATen/ops/gru_cell.h"
#include "ATen/ops/gt.h"
#include "ATen/ops/hamming_window.h"
#include "ATen/ops/hann_window.h"
#include "ATen/ops/hardshrink.h"
#include "ATen/ops/hardshrink_backward.h"
#include "ATen/ops/hardsigmoid.h"
#include "ATen/ops/hardsigmoid_backward.h"
#include "ATen/ops/hardswish.h"
#include "ATen/ops/hardswish_backward.h"
#include "ATen/ops/hardtanh.h"
#include "ATen/ops/hardtanh_backward.h"
#include "ATen/ops/heaviside.h"
#include "ATen/ops/hinge_embedding_loss.h"
#include "ATen/ops/histc.h"
#include "ATen/ops/histogram.h"
#include "ATen/ops/histogramdd.h"
#include "ATen/ops/hsplit.h"
#include "ATen/ops/hspmm.h"
#include "ATen/ops/hstack.h"
#include "ATen/ops/huber_loss.h"
#include "ATen/ops/huber_loss_backward.h"
#include "ATen/ops/hypot.h"
#include "ATen/ops/i0.h"
#include "ATen/ops/igamma.h"
#include "ATen/ops/igammac.h"
#include "ATen/ops/im2col.h"
#include "ATen/ops/imag.h"
#include "ATen/ops/index.h"
#include "ATen/ops/index_add.h"
#include "ATen/ops/index_copy.h"
#include "ATen/ops/index_fill.h"
#include "ATen/ops/index_put.h"
#include "ATen/ops/index_reduce.h"
#include "ATen/ops/index_select.h"
#include "ATen/ops/index_select_backward.h"
#include "ATen/ops/indices.h"
#include "ATen/ops/indices_copy.h"
#include "ATen/ops/infinitely_differentiable_gelu_backward.h"
#include "ATen/ops/inner.h"
#include "ATen/ops/instance_norm.h"
#include "ATen/ops/int_repr.h"
#include "ATen/ops/inverse.h"
#include "ATen/ops/is_coalesced.h"
#include "ATen/ops/is_complex.h"
#include "ATen/ops/is_conj.h"
#include "ATen/ops/is_distributed.h"
#include "ATen/ops/is_floating_point.h"
#include "ATen/ops/is_inference.h"
#include "ATen/ops/is_leaf.h"
#include "ATen/ops/is_neg.h"
#include "ATen/ops/is_nonzero.h"
#include "ATen/ops/is_pinned.h"
#include "ATen/ops/is_same_size.h"
#include "ATen/ops/is_set_to.h"
#include "ATen/ops/is_signed.h"
#include "ATen/ops/is_vulkan_available.h"
#include "ATen/ops/isclose.h"
#include "ATen/ops/isfinite.h"
#include "ATen/ops/isin.h"
#include "ATen/ops/isinf.h"
#include "ATen/ops/isnan.h"
#include "ATen/ops/isneginf.h"
#include "ATen/ops/isposinf.h"
#include "ATen/ops/isreal.h"
#include "ATen/ops/istft.h"
#include "ATen/ops/item.h"
#include "ATen/ops/kaiser_window.h"
#include "ATen/ops/kl_div.h"
#include "ATen/ops/kron.h"
#include "ATen/ops/kthvalue.h"
#include "ATen/ops/l1_loss.h"
#include "ATen/ops/layer_norm.h"
#include "ATen/ops/lcm.h"
#include "ATen/ops/ldexp.h"
#include "ATen/ops/le.h"
#include "ATen/ops/leaky_relu.h"
#include "ATen/ops/leaky_relu_backward.h"
#include "ATen/ops/lerp.h"
#include "ATen/ops/less.h"
#include "ATen/ops/less_equal.h"
#include "ATen/ops/lgamma.h"
#include "ATen/ops/lift.h"
#include "ATen/ops/lift_fresh.h"
#include "ATen/ops/lift_fresh_copy.h"
#include "ATen/ops/linalg_cholesky.h"
#include "ATen/ops/linalg_cholesky_ex.h"
#include "ATen/ops/linalg_cond.h"
#include "ATen/ops/linalg_cross.h"
#include "ATen/ops/linalg_det.h"
#include "ATen/ops/linalg_diagonal.h"
#include "ATen/ops/linalg_eig.h"
#include "ATen/ops/linalg_eigh.h"
#include "ATen/ops/linalg_eigvals.h"
#include "ATen/ops/linalg_eigvalsh.h"
#include "ATen/ops/linalg_householder_product.h"
#include "ATen/ops/linalg_inv.h"
#include "ATen/ops/linalg_inv_ex.h"
#include "ATen/ops/linalg_ldl_factor.h"
#include "ATen/ops/linalg_ldl_factor_ex.h"
#include "ATen/ops/linalg_ldl_solve.h"
#include "ATen/ops/linalg_lstsq.h"
#include "ATen/ops/linalg_lu.h"
#include "ATen/ops/linalg_lu_factor.h"
#include "ATen/ops/linalg_lu_factor_ex.h"
#include "ATen/ops/linalg_lu_solve.h"
#include "ATen/ops/linalg_matmul.h"
#include "ATen/ops/linalg_matrix_exp.h"
#include "ATen/ops/linalg_matrix_norm.h"
#include "ATen/ops/linalg_matrix_power.h"
#include "ATen/ops/linalg_matrix_rank.h"
#include "ATen/ops/linalg_multi_dot.h"
#include "ATen/ops/linalg_norm.h"
#include "ATen/ops/linalg_pinv.h"
#include "ATen/ops/linalg_qr.h"
#include "ATen/ops/linalg_slogdet.h"
#include "ATen/ops/linalg_solve.h"
#include "ATen/ops/linalg_solve_ex.h"
#include "ATen/ops/linalg_solve_triangular.h"
#include "ATen/ops/linalg_svd.h"
#include "ATen/ops/linalg_svdvals.h"
#include "ATen/ops/linalg_tensorinv.h"
#include "ATen/ops/linalg_tensorsolve.h"
#include "ATen/ops/linalg_vander.h"
#include "ATen/ops/linalg_vecdot.h"
#include "ATen/ops/linalg_vector_norm.h"
#include "ATen/ops/linear.h"
#include "ATen/ops/linear_backward.h"
#include "ATen/ops/linspace.h"
#include "ATen/ops/log.h"
#include "ATen/ops/log10.h"
#include "ATen/ops/log1p.h"
#include "ATen/ops/log2.h"
#include "ATen/ops/log_normal.h"
#include "ATen/ops/log_sigmoid.h"
#include "ATen/ops/log_sigmoid_backward.h"
#include "ATen/ops/log_sigmoid_forward.h"
#include "ATen/ops/log_softmax.h"
#include "ATen/ops/logaddexp.h"
#include "ATen/ops/logaddexp2.h"
#include "ATen/ops/logcumsumexp.h"
#include "ATen/ops/logdet.h"
#include "ATen/ops/logical_and.h"
#include "ATen/ops/logical_not.h"
#include "ATen/ops/logical_or.h"
#include "ATen/ops/logical_xor.h"
#include "ATen/ops/logit.h"
#include "ATen/ops/logit_backward.h"
#include "ATen/ops/logspace.h"
#include "ATen/ops/logsumexp.h"
#include "ATen/ops/lshift.h"
#include "ATen/ops/lstm.h"
#include "ATen/ops/lstm_cell.h"
#include "ATen/ops/lstm_mps_backward.h"
#include "ATen/ops/lt.h"
#include "ATen/ops/lu_solve.h"
#include "ATen/ops/lu_unpack.h"
#include "ATen/ops/mH.h"
#include "ATen/ops/mT.h"
#include "ATen/ops/margin_ranking_loss.h"
#include "ATen/ops/masked_fill.h"
#include "ATen/ops/masked_scatter.h"
#include "ATen/ops/masked_scatter_backward.h"
#include "ATen/ops/masked_select.h"
#include "ATen/ops/masked_select_backward.h"
#include "ATen/ops/matmul.h"
#include "ATen/ops/matmul_backward.h"
#include "ATen/ops/matrix_H.h"
#include "ATen/ops/matrix_exp.h"
#include "ATen/ops/matrix_exp_backward.h"
#include "ATen/ops/matrix_power.h"
#include "ATen/ops/max.h"
#include "ATen/ops/max_pool1d.h"
#include "ATen/ops/max_pool1d_with_indices.h"
#include "ATen/ops/max_pool2d.h"
#include "ATen/ops/max_pool2d_backward.h"
#include "ATen/ops/max_pool2d_with_indices.h"
#include "ATen/ops/max_pool2d_with_indices_backward.h"
#include "ATen/ops/max_pool3d.h"
#include "ATen/ops/max_pool3d_with_indices.h"
#include "ATen/ops/max_pool3d_with_indices_backward.h"
#include "ATen/ops/max_unpool2d.h"
#include "ATen/ops/max_unpool3d.h"
#include "ATen/ops/maximum.h"
#include "ATen/ops/mean.h"
#include "ATen/ops/median.h"
#include "ATen/ops/meshgrid.h"
#include "ATen/ops/min.h"
#include "ATen/ops/minimum.h"
#include "ATen/ops/miopen_batch_norm.h"
#include "ATen/ops/miopen_batch_norm_backward.h"
#include "ATen/ops/miopen_convolution.h"
#include "ATen/ops/miopen_convolution_add_relu.h"
#include "ATen/ops/miopen_convolution_relu.h"
#include "ATen/ops/miopen_convolution_transpose.h"
#include "ATen/ops/miopen_depthwise_convolution.h"
#include "ATen/ops/miopen_rnn.h"
#include "ATen/ops/miopen_rnn_backward.h"
#include "ATen/ops/mish.h"
#include "ATen/ops/mish_backward.h"
#include "ATen/ops/mkldnn_adaptive_avg_pool2d.h"
#include "ATen/ops/mkldnn_adaptive_avg_pool2d_backward.h"
#include "ATen/ops/mkldnn_convolution.h"
#include "ATen/ops/mkldnn_linear.h"
#include "ATen/ops/mkldnn_linear_backward.h"
#include "ATen/ops/mkldnn_linear_backward_input.h"
#include "ATen/ops/mkldnn_linear_backward_weights.h"
#include "ATen/ops/mkldnn_max_pool2d.h"
#include "ATen/ops/mkldnn_max_pool2d_backward.h"
#include "ATen/ops/mkldnn_max_pool3d.h"
#include "ATen/ops/mkldnn_max_pool3d_backward.h"
#include "ATen/ops/mkldnn_reorder_conv2d_weight.h"
#include "ATen/ops/mkldnn_reorder_conv3d_weight.h"
#include "ATen/ops/mkldnn_rnn_layer.h"
#include "ATen/ops/mkldnn_rnn_layer_backward.h"
#include "ATen/ops/mm.h"
#include "ATen/ops/mode.h"
#include "ATen/ops/moveaxis.h"
#include "ATen/ops/movedim.h"
#include "ATen/ops/mps_convolution_backward.h"
#include "ATen/ops/mps_convolution_transpose_backward.h"
#include "ATen/ops/mse_loss.h"
#include "ATen/ops/mse_loss_backward.h"
#include "ATen/ops/msort.h"
#include "ATen/ops/mul.h"
#include "ATen/ops/multi_margin_loss.h"
#include "ATen/ops/multi_margin_loss_backward.h"
#include "ATen/ops/multilabel_margin_loss.h"
#include "ATen/ops/multilabel_margin_loss_backward.h"
#include "ATen/ops/multilabel_margin_loss_forward.h"
#include "ATen/ops/multinomial.h"
#include "ATen/ops/multiply.h"
#include "ATen/ops/mv.h"
#include "ATen/ops/mvlgamma.h"
#include "ATen/ops/nan_to_num.h"
#include "ATen/ops/nanmean.h"
#include "ATen/ops/nanmedian.h"
#include "ATen/ops/nanquantile.h"
#include "ATen/ops/nansum.h"
#include "ATen/ops/narrow.h"
#include "ATen/ops/narrow_copy.h"
#include "ATen/ops/native_batch_norm.h"
#include "ATen/ops/native_batch_norm_backward.h"
#include "ATen/ops/native_channel_shuffle.h"
#include "ATen/ops/native_dropout.h"
#include "ATen/ops/native_dropout_backward.h"
#include "ATen/ops/native_group_norm.h"
#include "ATen/ops/native_group_norm_backward.h"
#include "ATen/ops/native_layer_norm.h"
#include "ATen/ops/native_layer_norm_backward.h"
#include "ATen/ops/native_norm.h"
#include "ATen/ops/ne.h"
#include "ATen/ops/neg.h"
#include "ATen/ops/negative.h"
#include "ATen/ops/nested_to_padded_tensor.h"
#include "ATen/ops/new_empty.h"
#include "ATen/ops/new_empty_strided.h"
#include "ATen/ops/new_full.h"
#include "ATen/ops/new_ones.h"
#include "ATen/ops/new_zeros.h"
#include "ATen/ops/nextafter.h"
#include "ATen/ops/nll_loss.h"
#include "ATen/ops/nll_loss2d.h"
#include "ATen/ops/nll_loss2d_backward.h"
#include "ATen/ops/nll_loss2d_forward.h"
#include "ATen/ops/nll_loss_backward.h"
#include "ATen/ops/nll_loss_forward.h"
#include "ATen/ops/nll_loss_nd.h"
#include "ATen/ops/nonzero.h"
#include "ATen/ops/nonzero_numpy.h"
#include "ATen/ops/nonzero_static.h"
#include "ATen/ops/norm.h"
#include "ATen/ops/norm_except_dim.h"
#include "ATen/ops/normal.h"
#include "ATen/ops/not_equal.h"
#include "ATen/ops/nuclear_norm.h"
#include "ATen/ops/numpy_T.h"
#include "ATen/ops/one_hot.h"
#include "ATen/ops/ones.h"
#include "ATen/ops/ones_like.h"
#include "ATen/ops/or.h"
#include "ATen/ops/orgqr.h"
#include "ATen/ops/ormqr.h"
#include "ATen/ops/outer.h"
#include "ATen/ops/output_nr.h"
#include "ATen/ops/pad.h"
#include "ATen/ops/pad_sequence.h"
#include "ATen/ops/pairwise_distance.h"
#include "ATen/ops/pdist.h"
#include "ATen/ops/permute.h"
#include "ATen/ops/permute_copy.h"
#include "ATen/ops/pin_memory.h"
#include "ATen/ops/pinverse.h"
#include "ATen/ops/pixel_shuffle.h"
#include "ATen/ops/pixel_unshuffle.h"
#include "ATen/ops/poisson.h"
#include "ATen/ops/poisson_nll_loss.h"
#include "ATen/ops/polar.h"
#include "ATen/ops/polygamma.h"
#include "ATen/ops/positive.h"
#include "ATen/ops/pow.h"
#include "ATen/ops/prelu.h"
#include "ATen/ops/prod.h"
#include "ATen/ops/promote_types.h"
#include "ATen/ops/put.h"
#include "ATen/ops/q_per_channel_axis.h"
#include "ATen/ops/q_per_channel_scales.h"
#include "ATen/ops/q_per_channel_zero_points.h"
#include "ATen/ops/q_scale.h"
#include "ATen/ops/q_zero_point.h"
#include "ATen/ops/qr.h"
#include "ATen/ops/qscheme.h"
#include "ATen/ops/quantile.h"
#include "ATen/ops/quantize_per_channel.h"
#include "ATen/ops/quantize_per_tensor.h"
#include "ATen/ops/quantize_per_tensor_dynamic.h"
#include "ATen/ops/quantized_batch_norm.h"
#include "ATen/ops/quantized_gru_cell.h"
#include "ATen/ops/quantized_lstm_cell.h"
#include "ATen/ops/quantized_max_pool1d.h"
#include "ATen/ops/quantized_max_pool2d.h"
#include "ATen/ops/quantized_max_pool3d.h"
#include "ATen/ops/quantized_rnn_relu_cell.h"
#include "ATen/ops/quantized_rnn_tanh_cell.h"
#include "ATen/ops/rad2deg.h"
#include "ATen/ops/rand.h"
#include "ATen/ops/rand_like.h"
#include "ATen/ops/randint.h"
#include "ATen/ops/randint_like.h"
#include "ATen/ops/randn.h"
#include "ATen/ops/randn_like.h"
#include "ATen/ops/random.h"
#include "ATen/ops/randperm.h"
#include "ATen/ops/range.h"
#include "ATen/ops/ravel.h"
#include "ATen/ops/real.h"
#include "ATen/ops/reciprocal.h"
#include "ATen/ops/record_stream.h"
#include "ATen/ops/refine_names.h"
#include "ATen/ops/reflection_pad1d.h"
#include "ATen/ops/reflection_pad1d_backward.h"
#include "ATen/ops/reflection_pad2d.h"
#include "ATen/ops/reflection_pad2d_backward.h"
#include "ATen/ops/reflection_pad3d.h"
#include "ATen/ops/reflection_pad3d_backward.h"
#include "ATen/ops/relu.h"
#include "ATen/ops/relu6.h"
#include "ATen/ops/remainder.h"
#include "ATen/ops/rename.h"
#include "ATen/ops/renorm.h"
#include "ATen/ops/repeat.h"
#include "ATen/ops/repeat_interleave.h"
#include "ATen/ops/replication_pad1d.h"
#include "ATen/ops/replication_pad1d_backward.h"
#include "ATen/ops/replication_pad2d.h"
#include "ATen/ops/replication_pad2d_backward.h"
#include "ATen/ops/replication_pad3d.h"
#include "ATen/ops/replication_pad3d_backward.h"
#include "ATen/ops/requires_grad.h"
#include "ATen/ops/reshape.h"
#include "ATen/ops/reshape_as.h"
#include "ATen/ops/resize.h"
#include "ATen/ops/resize_as.h"
#include "ATen/ops/resize_as_sparse.h"
#include "ATen/ops/resolve_conj.h"
#include "ATen/ops/resolve_neg.h"
#include "ATen/ops/result_type.h"
#include "ATen/ops/retain_grad.h"
#include "ATen/ops/retains_grad.h"
#include "ATen/ops/rms_norm.h"
#include "ATen/ops/rnn_relu.h"
#include "ATen/ops/rnn_relu_cell.h"
#include "ATen/ops/rnn_tanh.h"
#include "ATen/ops/rnn_tanh_cell.h"
#include "ATen/ops/roll.h"
#include "ATen/ops/rot90.h"
#include "ATen/ops/round.h"
#include "ATen/ops/row_indices.h"
#include "ATen/ops/row_indices_copy.h"
#include "ATen/ops/row_stack.h"
#include "ATen/ops/rrelu.h"
#include "ATen/ops/rrelu_with_noise.h"
#include "ATen/ops/rrelu_with_noise_backward.h"
#include "ATen/ops/rshift.h"
#include "ATen/ops/rsqrt.h"
#include "ATen/ops/rsub.h"
#include "ATen/ops/scalar_tensor.h"
#include "ATen/ops/scaled_dot_product_attention.h"
#include "ATen/ops/scatter.h"
#include "ATen/ops/scatter_add.h"
#include "ATen/ops/scatter_reduce.h"
#include "ATen/ops/searchsorted.h"
#include "ATen/ops/segment_reduce.h"
#include "ATen/ops/select.h"
#include "ATen/ops/select_backward.h"
#include "ATen/ops/select_copy.h"
#include "ATen/ops/select_scatter.h"
#include "ATen/ops/selu.h"
#include "ATen/ops/set.h"
#include "ATen/ops/set_data.h"
#include "ATen/ops/sgn.h"
#include "ATen/ops/sigmoid.h"
#include "ATen/ops/sigmoid_backward.h"
#include "ATen/ops/sign.h"
#include "ATen/ops/signbit.h"
#include "ATen/ops/silu.h"
#include "ATen/ops/silu_backward.h"
#include "ATen/ops/sin.h"
#include "ATen/ops/sinc.h"
#include "ATen/ops/sinh.h"
#include "ATen/ops/size.h"
#include "ATen/ops/slice.h"
#include "ATen/ops/slice_backward.h"
#include "ATen/ops/slice_copy.h"
#include "ATen/ops/slice_inverse.h"
#include "ATen/ops/slice_scatter.h"
#include "ATen/ops/slogdet.h"
#include "ATen/ops/slow_conv3d.h"
#include "ATen/ops/slow_conv3d_forward.h"
#include "ATen/ops/slow_conv_dilated2d.h"
#include "ATen/ops/slow_conv_dilated3d.h"
#include "ATen/ops/slow_conv_transpose2d.h"
#include "ATen/ops/slow_conv_transpose3d.h"
#include "ATen/ops/smm.h"
#include "ATen/ops/smooth_l1_loss.h"
#include "ATen/ops/smooth_l1_loss_backward.h"
#include "ATen/ops/soft_margin_loss.h"
#include "ATen/ops/soft_margin_loss_backward.h"
#include "ATen/ops/softmax.h"
#include "ATen/ops/softplus.h"
#include "ATen/ops/softplus_backward.h"
#include "ATen/ops/softshrink.h"
#include "ATen/ops/softshrink_backward.h"
#include "ATen/ops/sort.h"
#include "ATen/ops/sparse_bsc_tensor.h"
#include "ATen/ops/sparse_bsr_tensor.h"
#include "ATen/ops/sparse_compressed_tensor.h"
#include "ATen/ops/sparse_coo_tensor.h"
#include "ATen/ops/sparse_csc_tensor.h"
#include "ATen/ops/sparse_csr_tensor.h"
#include "ATen/ops/sparse_dim.h"
#include "ATen/ops/sparse_mask.h"
#include "ATen/ops/sparse_resize.h"
#include "ATen/ops/sparse_resize_and_clear.h"
#include "ATen/ops/sparse_sampled_addmm.h"
#include "ATen/ops/special_airy_ai.h"
#include "ATen/ops/special_bessel_j0.h"
#include "ATen/ops/special_bessel_j1.h"
#include "ATen/ops/special_bessel_y0.h"
#include "ATen/ops/special_bessel_y1.h"
#include "ATen/ops/special_chebyshev_polynomial_t.h"
#include "ATen/ops/special_chebyshev_polynomial_u.h"
#include "ATen/ops/special_chebyshev_polynomial_v.h"
#include "ATen/ops/special_chebyshev_polynomial_w.h"
#include "ATen/ops/special_digamma.h"
#include "ATen/ops/special_entr.h"
#include "ATen/ops/special_erf.h"
#include "ATen/ops/special_erfc.h"
#include "ATen/ops/special_erfcx.h"
#include "ATen/ops/special_erfinv.h"
#include "ATen/ops/special_exp2.h"
#include "ATen/ops/special_expit.h"
#include "ATen/ops/special_expm1.h"
#include "ATen/ops/special_gammainc.h"
#include "ATen/ops/special_gammaincc.h"
#include "ATen/ops/special_gammaln.h"
#include "ATen/ops/special_hermite_polynomial_h.h"
#include "ATen/ops/special_hermite_polynomial_he.h"
#include "ATen/ops/special_i0.h"
#include "ATen/ops/special_i0e.h"
#include "ATen/ops/special_i1.h"
#include "ATen/ops/special_i1e.h"
#include "ATen/ops/special_laguerre_polynomial_l.h"
#include "ATen/ops/special_legendre_polynomial_p.h"
#include "ATen/ops/special_log1p.h"
#include "ATen/ops/special_log_ndtr.h"
#include "ATen/ops/special_log_softmax.h"
#include "ATen/ops/special_logit.h"
#include "ATen/ops/special_logsumexp.h"
#include "ATen/ops/special_modified_bessel_i0.h"
#include "ATen/ops/special_modified_bessel_i1.h"
#include "ATen/ops/special_modified_bessel_k0.h"
#include "ATen/ops/special_modified_bessel_k1.h"
#include "ATen/ops/special_multigammaln.h"
#include "ATen/ops/special_ndtr.h"
#include "ATen/ops/special_ndtri.h"
#include "ATen/ops/special_polygamma.h"
#include "ATen/ops/special_psi.h"
#include "ATen/ops/special_round.h"
#include "ATen/ops/special_scaled_modified_bessel_k0.h"
#include "ATen/ops/special_scaled_modified_bessel_k1.h"
#include "ATen/ops/special_shifted_chebyshev_polynomial_t.h"
#include "ATen/ops/special_shifted_chebyshev_polynomial_u.h"
#include "ATen/ops/special_shifted_chebyshev_polynomial_v.h"
#include "ATen/ops/special_shifted_chebyshev_polynomial_w.h"
#include "ATen/ops/special_sinc.h"
#include "ATen/ops/special_softmax.h"
#include "ATen/ops/special_spherical_bessel_j0.h"
#include "ATen/ops/special_xlog1py.h"
#include "ATen/ops/special_xlogy.h"
#include "ATen/ops/special_zeta.h"
#include "ATen/ops/split.h"
#include "ATen/ops/split_copy.h"
#include "ATen/ops/split_with_sizes.h"
#include "ATen/ops/split_with_sizes_copy.h"
#include "ATen/ops/sqrt.h"
#include "ATen/ops/square.h"
#include "ATen/ops/squeeze.h"
#include "ATen/ops/squeeze_copy.h"
#include "ATen/ops/sspaddmm.h"
#include "ATen/ops/stack.h"
#include "ATen/ops/std.h"
#include "ATen/ops/std_mean.h"
#include "ATen/ops/stft.h"
#include "ATen/ops/stride.h"
#include "ATen/ops/sub.h"
#include "ATen/ops/subtract.h"
#include "ATen/ops/sum.h"
#include "ATen/ops/sum_to_size.h"
#include "ATen/ops/svd.h"
#include "ATen/ops/swapaxes.h"
#include "ATen/ops/swapdims.h"
#include "ATen/ops/sym_constrain_range.h"
#include "ATen/ops/sym_constrain_range_for_size.h"
#include "ATen/ops/sym_numel.h"
#include "ATen/ops/sym_size.h"
#include "ATen/ops/sym_storage_offset.h"
#include "ATen/ops/sym_stride.h"
#include "ATen/ops/t.h"
#include "ATen/ops/t_copy.h"
#include "ATen/ops/take.h"
#include "ATen/ops/take_along_dim.h"
#include "ATen/ops/tan.h"
#include "ATen/ops/tanh.h"
#include "ATen/ops/tanh_backward.h"
#include "ATen/ops/tensor_split.h"
#include "ATen/ops/tensor.h"
#include "ATen/ops/tensordot.h"
#include "ATen/ops/thnn_conv2d.h"
#include "ATen/ops/threshold.h"
#include "ATen/ops/threshold_backward.h"
#include "ATen/ops/tile.h"
#include "ATen/ops/to.h"
#include "ATen/ops/to_dense.h"
#include "ATen/ops/to_dense_backward.h"
#include "ATen/ops/to_mkldnn.h"
#include "ATen/ops/to_mkldnn_backward.h"
#include "ATen/ops/to_padded_tensor.h"
#include "ATen/ops/to_sparse.h"
#include "ATen/ops/to_sparse_bsc.h"
#include "ATen/ops/to_sparse_bsr.h"
#include "ATen/ops/to_sparse_csc.h"
#include "ATen/ops/to_sparse_csr.h"
#include "ATen/ops/topk.h"
#include "ATen/ops/trace.h"
#include "ATen/ops/trace_backward.h"
#include "ATen/ops/transpose.h"
#include "ATen/ops/transpose_copy.h"
#include "ATen/ops/trapezoid.h"
#include "ATen/ops/trapz.h"
#include "ATen/ops/triangular_solve.h"
#include "ATen/ops/tril.h"
#include "ATen/ops/tril_indices.h"
#include "ATen/ops/triplet_margin_loss.h"
#include "ATen/ops/triu.h"
#include "ATen/ops/triu_indices.h"
#include "ATen/ops/true_divide.h"
#include "ATen/ops/trunc.h"
#include "ATen/ops/type_as.h"
#include "ATen/ops/unbind.h"
#include "ATen/ops/unbind_copy.h"
#include "ATen/ops/unflatten.h"
#include "ATen/ops/unflatten_dense_tensors.h"
#include "ATen/ops/unfold.h"
#include "ATen/ops/unfold_backward.h"
#include "ATen/ops/unfold_copy.h"
#include "ATen/ops/uniform.h"
#include "ATen/ops/unique_consecutive.h"
#include "ATen/ops/unique_dim.h"
#include "ATen/ops/unique_dim_consecutive.h"
#include "ATen/ops/unsafe_chunk.h"
#include "ATen/ops/unsafe_split.h"
#include "ATen/ops/unsafe_split_with_sizes.h"
#include "ATen/ops/unsqueeze.h"
#include "ATen/ops/unsqueeze_copy.h"
#include "ATen/ops/upsample_bicubic2d.h"
#include "ATen/ops/upsample_bicubic2d_backward.h"
#include "ATen/ops/upsample_bilinear2d.h"
#include "ATen/ops/upsample_bilinear2d_backward.h"
#include "ATen/ops/upsample_linear1d.h"
#include "ATen/ops/upsample_linear1d_backward.h"
#include "ATen/ops/upsample_nearest1d.h"
#include "ATen/ops/upsample_nearest1d_backward.h"
#include "ATen/ops/upsample_nearest2d.h"
#include "ATen/ops/upsample_nearest2d_backward.h"
#include "ATen/ops/upsample_nearest3d.h"
#include "ATen/ops/upsample_nearest3d_backward.h"
#include "ATen/ops/upsample_trilinear3d.h"
#include "ATen/ops/upsample_trilinear3d_backward.h"
#include "ATen/ops/value_selecting_reduction_backward.h"
#include "ATen/ops/values.h"
#include "ATen/ops/values_copy.h"
#include "ATen/ops/vander.h"
#include "ATen/ops/var.h"
#include "ATen/ops/var_mean.h"
#include "ATen/ops/vdot.h"
#include "ATen/ops/view.h"
#include "ATen/ops/view_as.h"
#include "ATen/ops/view_as_complex.h"
#include "ATen/ops/view_as_complex_copy.h"
#include "ATen/ops/view_as_real.h"
#include "ATen/ops/view_as_real_copy.h"
#include "ATen/ops/view_copy.h"
#include "ATen/ops/vsplit.h"
#include "ATen/ops/vstack.h"
#include "ATen/ops/where.h"
#include "ATen/ops/xlogy.h"
#include "ATen/ops/xor.h"
#include "ATen/ops/zero.h"
#include "ATen/ops/zeros.h"
#include "ATen/ops/zeros_like.h"
#include "ATen/Functions.h"
#include "ATen/ExpandUtils.h"
#include "ATen/MemoryOverlap.h"
#include "ATen/NestedTensorImpl.h"
#include "torch/csrc/autograd/input_metadata.h"
#include "torch/csrc/autograd/saved_variable_hooks.h"
#include "torch/csrc/autograd/saved_variable.h"
#include "torch/csrc/utils/variadic.h"
#include "torch/csrc/autograd/function.h"
#include "torch/csrc/autograd/variable_info.h"
#include "torch/csrc/utils/torch_dispatch_mode.h"
#include "torch/csrc/dynamo/compiled_autograd.h"
#include "torch/csrc/autograd/custom_function.h"
#include "torch/csrc/api/include/torch/autograd.h"
#include "torch/csrc/api/include/torch/cuda.h"
#include "torch/csrc/api/include/torch/arg.h"
#include "ATen/Device.h"
#include "ATen/Dispatch.h"
#include "ATen/ScalarOps.h"
#include "c10/util/strides.h"
#include "ATen/TensorMeta.h"
#include "ATen/core/Range.h"
#include "c10/util/Load.h"
#include "c10/core/DynamicCast.h"
#include "ATen/TensorIterator.h"
#include "ATen/NativeFunctions.h"
#include "ATen/TensorIndexing.h"
#include "ATen/TensorOperators.h"
#include "ATen/Version.h"
#include "ATen/core/Scalar.h"
#include "ATen/core/UnsafeFromTH.h"
#include "ATen/ATen.h"
#include "torch/csrc/api/include/torch/detail/TensorDataContainer.h"
#include "torch/csrc/autograd/generated/variable_factories.h"
#include "torch/csrc/jit/frontend/function_schema_parser.h"
#include "torch/csrc/api/include/torch/types.h"
#include "torch/csrc/api/include/torch/data/dataloader_options.h"
#include "torch/csrc/api/include/torch/data/detail/queue.h"
#include "torch/csrc/api/include/torch/data/detail/data_shuttle.h"
#include "torch/csrc/api/include/torch/data/detail/sequencers.h"
#include "torch/csrc/api/include/torch/data/iterator.h"
#include "torch/csrc/api/include/torch/data/samplers/base.h"
#include "torch/csrc/api/include/torch/data/samplers/random.h"
#include "torch/csrc/api/include/torch/data/worker_exception.h"
#include "torch/csrc/api/include/torch/data/dataloader/base.h"
#include "torch/csrc/api/include/torch/data/dataloader/stateful.h"
#include "torch/csrc/api/include/torch/data/dataloader/stateless.h"
#include "torch/csrc/api/include/torch/data/dataloader.h"
#include "torch/csrc/api/include/torch/data/example.h"
#include "torch/csrc/api/include/torch/data/datasets/base.h"
#include "torch/csrc/api/include/torch/data/datasets/stateful.h"
#include "torch/csrc/api/include/torch/data/samplers/custom_batch_request.h"
#include "torch/csrc/api/include/torch/data/samplers/distributed.h"
#include "torch/csrc/api/include/torch/data/samplers/sequential.h"
#include "torch/csrc/api/include/torch/imethod.h"
#include "torch/csrc/jit/ir/attributes.h"
#include "torch/csrc/jit/ir/graph_node_list.h"
#include "torch/csrc/jit/frontend/source_range.h"
#include "torch/csrc/jit/ir/scope.h"
#include "torch/csrc/jit/ir/constants.h"
#include "torch/csrc/jit/ir/named_value.h"
// #include "c10/util/overloaded.h" // Non parseable
#include "torch/csrc/jit/runtime/operator_options.h"
#include "torch/csrc/jit/runtime/operator.h"
#include "torch/csrc/utils/schema_info.h"
#include "ATen/core/enum_type.h"
// #include "ATen/core/aten_interned_strings.h" // Internal only
// #include "ATen/core/interned_strings.h" // Internal only
#include "torch/csrc/jit/ir/ir.h"
#include "torch/csrc/jit/python/update_graph_executor_opt.h"
#include "torch/csrc/jit/runtime/argument_spec.h"
#include "torch/csrc/jit/runtime/interpreter.h"
#include "torch/csrc/jit/runtime/variable_tensor_list.h"
#include "torch/csrc/jit/runtime/graph_executor.h"
#include "torch/csrc/jit/api/function_impl.h"
#include "torch/csrc/jit/api/method.h"
#include "torch/csrc/jit/api/object.h"
#include "torch/csrc/api/include/torch/ordered_dict.h"
#include "torch/csrc/jit/frontend/name_mangler.h"
#include "torch/csrc/jit/api/compilation_unit.h"
#include "torch/csrc/jit/api/module.h"
#include "torch/csrc/api/include/torch/serialize/input-archive.h"
#include "torch/csrc/api/include/torch/serialize/output-archive.h"
#include "torch/csrc/api/include/torch/serialize/archive.h"
#include "torch/csrc/api/include/torch/data/samplers/serialize.h"
#include "torch/csrc/api/include/torch/data/samplers/stream.h"
#include "torch/csrc/api/include/torch/data/samplers.h"
#include "torch/csrc/api/include/torch/serialize/tensor.h"
#include "torch/csrc/api/include/torch/serialize.h"
#include "torch/csrc/api/include/torch/data/datasets/chunk.h"
#include "torch/csrc/api/include/torch/data/datasets/map.h"
#include "torch/csrc/api/include/torch/data/datasets/mnist.h"
#include "torch/csrc/api/include/torch/data/datasets/shared.h"
#include "torch/csrc/api/include/torch/data/datasets/tensor.h"
#include "torch/csrc/api/include/torch/data/datasets.h"
#include "torch/csrc/api/include/torch/data/transforms/base.h"
#include "torch/csrc/api/include/torch/data/transforms/lambda.h"
#include "torch/csrc/api/include/torch/data/transforms/collate.h"
// #include "torch/csrc/api/include/torch/data/transforms/stack.h" // See ExampleStack explicit definition
#include "torch/csrc/api/include/torch/data/transforms/tensor.h"
#include "torch/csrc/api/include/torch/data/transforms.h"
#include "torch/csrc/api/include/torch/data.h"
#include "torch/csrc/api/include/torch/enum.h"
#include "torch/csrc/api/include/torch/fft.h"
#include "torch/csrc/api/include/torch/jit.h"
// #include "torch/csrc/api/include/torch/linalg.h"
#include "torch/csrc/api/include/torch/mps.h"
#include "torch/csrc/api/include/torch/nested.h"
#include "torch/csrc/api/include/torch/detail/static.h"
#include "torch/csrc/api/include/torch/nn/pimpl-inl.h"
#include "torch/csrc/api/include/torch/nn/pimpl.h"
#include "torch/csrc/api/include/torch/nn/modules/container/any_value.h"
#include "torch/csrc/api/include/torch/nn/modules/container/any_module_holder.h"
#include "torch/csrc/api/include/torch/nn/module.h"
#include "ATen/Config.h"
// #include "ATen/ParallelOpenMP.h" // Internal only
 #include "c10/util/ParallelGuard.h"
#include "ATen/Parallel-inl.h"
#include "ATen/Parallel.h"
#include "torch/csrc/profiler/orchestration/observer.h"
#include "torch/csrc/profiler/api.h"
#include "torch/csrc/profiler/events.h"
// #include "c10/util/strong_type.h"  // Complex variadic templates non parseable
#include "torch/csrc/profiler/stubs/base.h"
#include "torch/csrc/profiler/util.h"
#include "torch/csrc/autograd/profiler_kineto.h"
// #include "torch/csrc/autograd/profiler_legacy.h" // Do not bother with legacy API
#include "torch/csrc/autograd/profiler.h"
#include "torch/csrc/api/include/torch/utils.h"
#include "torch/csrc/api/include/torch/nn/cloneable.h"
#include "torch/csrc/api/include/torch/nn/options/batchnorm.h"
#include "torch/csrc/api/include/torch/nn/functional/batchnorm.h"
// #include "torch/csrc/api/include/torch/expanding_array.h" // Mapped to *Pointer
#include "torch/csrc/api/include/torch/nn/options/conv.h"
#include "torch/csrc/api/include/torch/nn/functional/conv.h"
#include "torch/csrc/api/include/torch/nn/options/distance.h"
#include "torch/csrc/api/include/torch/nn/functional/distance.h"
#include "torch/csrc/api/include/torch/nn/options/dropout.h"
#include "torch/csrc/api/include/torch/nn/functional/dropout.h"
#include "torch/csrc/api/include/torch/nn/options/embedding.h"
#include "torch/csrc/api/include/torch/nn/functional/embedding.h"
#include "torch/csrc/api/include/torch/nn/options/fold.h"
#include "torch/csrc/api/include/torch/nn/functional/fold.h"
#include "torch/csrc/api/include/torch/nn/options/instancenorm.h"
#include "torch/csrc/api/include/torch/nn/functional/instancenorm.h"
#include "torch/csrc/api/include/torch/nn/functional/linear.h"
#include "torch/csrc/api/include/torch/nn/options/activation.h"
#include "torch/csrc/api/include/torch/nn/options/linear.h"
#include "torch/csrc/api/include/torch/nn/functional/activation.h"
#include "torch/csrc/api/include/torch/nn/options/loss.h"
#include "torch/csrc/api/include/torch/nn/functional/loss.h"
#include "ATen/PadNd.h"
#include "torch/csrc/api/include/torch/nn/options/padding.h"
#include "torch/csrc/api/include/torch/nn/functional/padding.h"
#include "torch/csrc/api/include/torch/nn/modules/utils.h"
#include "torch/csrc/api/include/torch/nn/options/pooling.h"
#include "torch/csrc/api/include/torch/nn/functional/pooling.h"
#include "torch/csrc/api/include/torch/nn/options/normalization.h"
#include "torch/csrc/api/include/torch/nn/functional/normalization.h"
#include "torch/csrc/api/include/torch/nn/options/pixelshuffle.h"
#include "torch/csrc/api/include/torch/nn/functional/pixelshuffle.h"
#include "torch/csrc/api/include/torch/nn/options/upsampling.h"
#include "torch/csrc/api/include/torch/nn/functional/upsampling.h"
#include "torch/csrc/api/include/torch/nn/options/vision.h"
#include "torch/csrc/api/include/torch/nn/functional/vision.h"
#include "torch/csrc/api/include/torch/nn/functional.h"
#include "torch/csrc/api/include/torch/nn/init.h"
#include "torch/csrc/api/include/torch/nn/modules/common.h"
#include "torch/csrc/api/include/torch/nn/modules/container/any.h"
// #include "torch/csrc/api/include/torch/nn/modules/container/functional.h" // Complex variadic templates non parseable
#include "torch/csrc/api/include/torch/nn/modules/container/moduledict.h"
#include "torch/csrc/api/include/torch/nn/modules/container/modulelist.h"
#include "torch/csrc/api/include/torch/nn/modules/container/named_any.h"
#include "torch/csrc/api/include/torch/nn/modules/container/parameterdict.h"
#include "torch/csrc/api/include/torch/nn/modules/container/parameterlist.h"
#include "torch/csrc/api/include/torch/nn/modules/container/sequential.h"
#include "torch/csrc/api/include/torch/nn/modules/linear.h"
#include "torch/csrc/api/include/torch/nn/modules/activation.h"
#include "torch/csrc/api/include/torch/nn/options/adaptive.h"
#include "torch/csrc/api/include/torch/nn/modules/adaptive.h"
#include "torch/csrc/api/include/torch/nn/modules/batchnorm.h"
#include "torch/csrc/api/include/torch/nn/modules/conv.h"
#include "torch/csrc/api/include/torch/nn/modules/distance.h"
#include "torch/csrc/api/include/torch/nn/modules/dropout.h"
#include "torch/csrc/api/include/torch/nn/modules/embedding.h"
#include "torch/csrc/api/include/torch/nn/modules/fold.h"
#include "torch/csrc/api/include/torch/nn/modules/instancenorm.h"
#include "torch/csrc/api/include/torch/nn/modules/loss.h"
#include "torch/csrc/api/include/torch/nn/modules/_functions.h"
#include "torch/csrc/api/include/torch/nn/modules/normalization.h"
#include "torch/csrc/api/include/torch/nn/modules/padding.h"
#include "torch/csrc/api/include/torch/nn/modules/pixelshuffle.h"
#include "torch/csrc/api/include/torch/nn/modules/pooling.h"
#include "torch/csrc/api/include/torch/nn/options/rnn.h"
#include "torch/csrc/api/include/torch/nn/utils/rnn.h"
#include "torch/csrc/api/include/torch/nn/modules/rnn.h"
#include "torch/csrc/api/include/torch/nn/options/transformerlayer.h"
#include "torch/csrc/api/include/torch/nn/options/transformer.h"
#include "torch/csrc/api/include/torch/nn/modules/transformer.h"
#include "torch/csrc/api/include/torch/nn/modules/transformerlayer.h"
#include "torch/csrc/api/include/torch/nn/options/transformercoder.h"
#include "torch/csrc/api/include/torch/nn/modules/transformercoder.h"
#include "torch/csrc/api/include/torch/nn/modules/upsampling.h"
#include "torch/csrc/api/include/torch/nn/modules.h"
#include "torch/csrc/api/include/torch/nn/options.h"
#include "torch/csrc/api/include/torch/nn/utils/clip_grad.h"
#include "torch/csrc/api/include/torch/nn/utils/convert_parameters.h"
#include "torch/csrc/api/include/torch/nn/utils.h"
#include "torch/csrc/api/include/torch/nn.h"
#include "torch/csrc/api/include/torch/optim/optimizer.h"
#include "torch/csrc/api/include/torch/optim/serialize.h"
#include "torch/csrc/api/include/torch/optim/adagrad.h"
#include "torch/csrc/api/include/torch/optim/adam.h"
#include "torch/csrc/api/include/torch/optim/adamw.h"
#include "torch/csrc/api/include/torch/optim/lbfgs.h"
#include "torch/csrc/api/include/torch/optim/rmsprop.h"
#include "torch/csrc/api/include/torch/optim/sgd.h"
#include "torch/csrc/api/include/torch/optim/schedulers/lr_scheduler.h"
#include "torch/csrc/api/include/torch/optim/schedulers/reduce_on_plateau_scheduler.h"
#include "torch/csrc/api/include/torch/optim/schedulers/step_lr.h"
#include "torch/csrc/api/include/torch/optim.h"
#include "torch/csrc/api/include/torch/sparse.h"
#include "torch/csrc/api/include/torch/special.h"
#include "torch/csrc/api/include/torch/version.h"
#include "torch/csrc/api/include/torch/xpu.h"
#include "torch/csrc/autograd/InferenceMode.h"
// #include "torch/csrc/jit/runtime/custom_operator.h" // Name conflict with torch::RegisterOperator + little chance to have any use
#include "caffe2/serialize/read_adapter_interface.h"
#include "caffe2/serialize/istream_adapter.h"
#include "caffe2/serialize/versions.h"
#include "torch/csrc/jit/serialization/unpickler.h"
#include "torch/csrc/jit/frontend/script_type_parser.h"
#include "torch/csrc/jit/frontend/resolver.h"
#include "torch/csrc/jit/frontend/sugared_value.h"
#include "torch/csrc/jit/frontend/error_report.h"
#include "torch/csrc/jit/frontend/tree.h"
#include "torch/csrc/jit/frontend/lexer.h"
#include "caffe2/serialize/inline_container.h"
#include "torch/csrc/jit/serialization/import.h"
#include "c10/util/FbcodeMaps.h"
#include "torch/csrc/jit/serialization/pickler.h"
#include "torch/csrc/jit/frontend/parser_constants.h"
#include "torch/csrc/jit/frontend/strtod.h"
#include "torch/csrc/jit/frontend/schema_matching.h"
#include "torch/csrc/jit/frontend/versioned_symbols.h"
#include "torch/csrc/jit/frontend/tree_views.h"
#include "torch/csrc/jit/serialization/pickle.h"
// #include "torch/csrc/inductor/aoti_torch/c/shim.h" // model.so API, not part of libtorch API
// #include "torch/csrc/inductor/aoti_runtime/utils.h" // model.so API, not part of libtorch API
// #include "torch/csrc/inductor/aoti_runtime/interface.h" // model.so API, not part of libtorch API
#include "torch/csrc/inductor/aoti_runner/model_container_runner.h"
#include "torch/csrc/inductor/aoti_runner/model_container_runner_cpu.h"

#include "torch/csrc/distributed/c10d/Store.hpp"
#include "torch/csrc/distributed/c10d/Types.hpp"
#include "torch/csrc/distributed/c10d/Utils.hpp"
#include "torch/csrc/distributed/c10d/Work.hpp"
#include "torch/csrc/distributed/c10d/debug.h"
#include "torch/csrc/distributed/c10d/Backend.hpp"
#include "torch/csrc/distributed/c10d/ProcessGroup.hpp"
#include "torch/csrc/distributed/c10d/comm.hpp"
#include "torch/csrc/distributed/c10d/default_comm_hooks.hpp"
#include "c10/util/ApproximateClock.h"
#include "torch/csrc/distributed/c10d/reducer_timer.hpp"
// #include "torch/csrc/autograd/functions/basic_ops.h" // Not on Windows
// #include "torch/csrc/autograd/engine.h" // Not on Windows
// #include "torch/csrc/distributed/autograd/rpc_messages/autograd_metadata.h" // Not on Windows
// #include "torch/csrc/distributed/rpc/message.h" // Not on Windows
// #include "torch/csrc/distributed/rpc/request_callback.h" // Not on Windows
// #include "torch/csrc/distributed/rpc/types.h" // Not on Windows
// #include "torch/csrc/distributed/rpc/rpc_agent.h" // Not on Windows
// #include "torch/csrc/distributed/autograd/functions/recvrpc_backward.h" // Not on Windows
// #include "torch/csrc/distributed/autograd/functions/sendrpc_backward.h" // Not on Windows
// #include "torch/csrc/distributed/autograd/context/context.h" // Not on Windows
#include "torch/csrc/distributed/c10d/reducer.hpp"
#include "torch/csrc/distributed/c10d/ProcessGroupGloo.hpp"
#include "torch/csrc/distributed/c10d/PrefixStore.hpp"
#include "torch/csrc/distributed/c10d/logger.hpp"

#include "datasets.h"
